# 序列：元组（tuple）、列表（list）

# 元组()

# 1、创建
person = ()  # 空元组
person = (1, '张飞', '屠夫', None, 200000, True)  # 一维
person = (
    (1, '张飞', '屠夫', None, 200000, True),
    (2, '曹操', '校尉', '蔡夫人', 20000000, True),
    (3, '关羽', '保安', None, 1000, False),
    (4, '诸葛亮', '地主', '黄月英', 300000000, True)
)

# 2、访问(很骚的操作很多)
#         0    1      2      3      4      5
person = (1, '张飞', '屠夫', None, 200000, True)
#        -6   -5      -4    -3      -2    -1

# 通过下标去访问
print(person[1])  # 建议自己这样玩
print(person[-5])  # 能看到这样玩

# 切片
print(person[1:4])  # [1:4) 从x开始到y结束但不包含y
print(person[1:-2])
print(person[-5:-2])
print(person[-2:-5])  # 切片为空
print(person[:4])
print(person[2:])

print(person[::2])

# 遍历
person = (1, '张飞', '屠夫', None, 200000, True)

# print(person[0])
# print(person[1])
# print(person[2])
# print(person[3])
# print(person[4])
# print(person[5])

for i in range(len(person)):
    print(person[i])

person = (
    (1, '张飞', '屠夫', None, 200000, True),
    (2, '曹操', '校尉', '蔡夫人', 20000000, True),
    (3, '关羽', '保安', None, 1000, False),
    (4, '诸葛亮', '地主', '黄月英', 300000000, True)
)
print(person[0][0])
print(person[1][3])

for i in range(len(person)):
    for j in range(len(person[i])):
        print(person[i][j])
#
# insert
# data = ()
#
# select
# data = (())
#
# update
# data = ()
#
# delete
# id =1
# ids =()
#


# 2、列表
# 1、创建、访问、遍历和元组一模一样，只是表示时用[]
# 1、创建
person = []  # 空元组
person = [1, '张飞', '屠夫', None, 200000, True]  # 一维
person = [
    [1, '张飞', '屠夫', None, 200000, True],
    [2, '曹操', '校尉', '蔡夫人', 20000000, True],
    [3, '关羽', '保安', None, 1000, False],
    [4, '诸葛亮', '地主', '黄月英', 300000000, True]
]

# 2、访问(很骚的操作很多)
person = [1, '张飞', '屠夫', None, 200000, True]
print(person[2])

# 3、遍历
for i in range(len(person)):
    print(person[i])

# 2、列表是链表结构，因此他有自己独有的方法，我们往往喜欢用列表而不是元组
# 学习重点是学习列表的独有的方法
person = [1, '张飞', '屠夫', None, 200000, True]
# 新增

person.append(25)
print(person)

person.insert(2, '丈八蛇矛')
print(person)

# 删除
person.pop()
print(person)
person.pop(3)
print(person)

person.remove(None)
print(person)

person = [12, 32, 34, 32421, 4321, 543, 321, 421, 41, 4112, 324]
person.sort()
print(person)
person.reverse()
print(person)

person = ['banana', 'apple', 'orange', 'pear', 'bear']
person.sort()
print(person)

# 私下来了解高阶函数 sorted()

# 元组和列表的区别？作业
# 平时自己写代码，一般都用列表


